package cn.kgm.user.server.struct;

import cn.kgm.user.dto.dto.UserLoginLogSaveDTO;
import cn.kgm.user.dto.dto.UserLoginLogUpdateDTO;
import cn.kgm.user.dto.entity.UserLoginLog;
import cn.kgm.user.dto.query.UserLoginLogPageQuery;
import cn.kgm.user.dto.vo.UserLoginLogVO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 用户登录日志表
 * @author kappi
 * @date   2024-04-08 13:28:48
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface UserLoginLogMappers {
    UserLoginLogMappers INSTANCE = Mappers.getMapper(UserLoginLogMappers.class);

    /**
     * 将 UserLoginLogSaveDTO 映射成 UserLoginLog 对象
     *
     * @param source 源对象
     * @return UserLoginLog
     */
    UserLoginLog mapToEntity(UserLoginLogSaveDTO source);

    /**
     * 将 UserLoginLogUpdateDTO 映射成 UserLoginLog 对象
     *
     * @param source 源对象
     * @return UserLoginLog
     */
    UserLoginLog mapToEntity(UserLoginLogUpdateDTO source);

    /**
     * UserLoginLogPageQuery 映射成 UserLoginLog 对象
     *
     * @param source 源对象
     * @return UserLoginLog
     */
    UserLoginLog mapToEntity(UserLoginLogPageQuery source);

    /**
     * UserLoginLogPageQuery 映射成 UserLoginLog 对象
     *
     * @param source 源对象
     * @return UserLoginLogVO
     */
    UserLoginLogVO mapToEntity(UserLoginLog source);

}
